#!/usr/bin env python
# -*- coding: utf-8 -*-
###########################################################################
#   Copyright (C) 2008 by Serj Poltavsky                                  #
#   serge.uliss at gmail.com                                              #
#                                                                         #
#   This program is free software; you can redistribute it and/or modify  #
#   it under the terms of the GNU General Public License as published by  #
#   the Free Software Foundation; either version 3 of the License, or     #
#   (at your option) any later version.                                   #
#                                                                         #
#   This program is distributed in the hope that it will be useful,       #
#   but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#   GNU General Public License for more details.                          #
#                                                                         #
#   You should have received a copy of the GNU General Public License     #
#   along with this program. If not, see <http://www.gnu.org/licenses/>   #
###########################################################################

import os
import sys
from dvdformat import DvdFormat

class DvdObject(object):
    def __init__(self, format):
        self.set_format(format)

    def export(self):
        pass

    ''' Returns dvd format '''
    def get_format(self):
        return self.__format

    ''' Sets dvd format '''
    def set_format(self, format):
        if format in ('pal', 'ntsc'):
            self.__format = DvdFormat(format)
        elif not isinstance(format, DvdFormat):
            raise TypeError('DvdFormat instance expected')
        else:
            self.__format = format

    @staticmethod
    def tmp_dir():
        return '/tmp/dvdauthor/'

    format = property(get_format, set_format)

class DvdContainer(DvdObject, list):
    def __init__(self, format):
        DvdObject.__init__(self, format)
        list.__init__(self)
